﻿using GameFramework;
using GameFramework.Event;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TowerDefence_Zombie
{
    public class UpgradeTowerBuilderEventArgs : GameEventArgs
    {
        public static readonly int EventId = typeof(UpgradeTowerBuilderEventArgs).GetHashCode();

        public int BuilderLevel;

        public long BuilderCoin;

        public UpgradeTowerBuilderEventArgs()
        {
            BuilderLevel = 1;
            BuilderCoin = 0;
        }

        public override int Id
        {
            get
            {
                return EventId;
            }
        }
        public static UpgradeTowerBuilderEventArgs Create(int builderLevel, long coin)
        {
            UpgradeTowerBuilderEventArgs upgradeArgs = ReferencePool.Acquire<UpgradeTowerBuilderEventArgs>();
            upgradeArgs.BuilderLevel = builderLevel;
            upgradeArgs.BuilderCoin = coin;
            return upgradeArgs;
        }

        public override void Clear()
        {
            BuilderLevel = 1;
            BuilderCoin = 0;
        }
    }
}
